package com.example.saveqq;

import android.content.Context;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

/**
 * 实现 QQ账号 和 密码的存储和读取功能
 */
public class FileSaveQQ {

    // 保存 QQ 账号和密码到 data.txt 文件
    public static boolean saveUserInfo(Context context, String account, String password) {
        FileOutputStream fos = null;
        try {
            fos = context.openFileOutput("data.txt", Context.MODE_PRIVATE);
            // 将数据转换成为字节码的形式写入 data.txt 文件
            fos.write((account + ":" + password).getBytes());
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        } finally {
            if (fos != null) {
                try {
                    fos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }

    // 从 data.txt 文件中读取账号和密码
    public static Map<String, String> getUserInfo(Context context) {
        String content = "";
        FileInputStream fis = null;
        // 获取文件的输入流对象 fis
        try {
            fis = context.openFileInput("data.txt");
            // 将输入流对象中的数据转化为字节码形式
            byte[] buffer = new byte[fis.available()];
            fis.read(buffer);
            content = new String(buffer);
            Map<String, String> userMap = new HashMap<>();
            String[] userInfo = content.split(":");
            userMap.put("account", userInfo[0]);
            userMap.put("password", userInfo[1]);
            return userMap;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        } finally {
            if (fis != null) {
                try {
                    fis.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
